home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / zupmtr.z / zupmtr
Encoding:
Text File  |  2002-10-03  |  4.2 KB  |  133 lines

  1.  
  2.  
  3.  
  4. ZZZZUUUUPPPPMMMMTTTTRRRR((((3333SSSS))))                                                          ZZZZUUUUPPPPMMMMTTTTRRRR((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZUPMTR - overwrite the general complex M-by-N matrix C with  SIDE = 'L'
  10.      SIDE = 'R' TRANS = 'N'
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE ZUPMTR( SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO )
  14.  
  15.          CHARACTER      SIDE, TRANS, UPLO
  16.  
  17.          INTEGER        INFO, LDC, M, N
  18.  
  19.          COMPLEX*16     AP( * ), C( LDC, * ), TAU( * ), WORK( * )
  20.  
  21. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  22.      These routines are part of the SCSL Scientific Library and can be loaded
  23.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  24.      directs the linker to use the multi-processor version of the library.
  25.  
  26.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  27.      4 bytes (32 bits). Another version of SCSL is available in which integers
  28.      are 8 bytes (64 bits).  This version allows the user access to larger
  29.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  30.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  31.      only one of the two versions; 4-byte integer and 8-byte integer library
  32.      calls cannot be mixed.
  33.  
  34. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  35.      ZUPMTR overwrites the general complex M-by-N matrix C with SIDE = 'L'
  36.      SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C':      Q**H * C       C *
  37.      Q**H
  38.  
  39.      where Q is a complex unitary matrix of order nq, with nq = m if SIDE =
  40.      'L' and nq = n if SIDE = 'R'. Q is defined as the product of nq-1
  41.      elementary reflectors, as returned by ZHPTRD using packed storage:
  42.  
  43.      if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1);
  44.  
  45.      if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).
  46.  
  47.  
  48. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  49.      SIDE    (input) CHARACTER*1
  50.              = 'L': apply Q or Q**H from the Left;
  51.              = 'R': apply Q or Q**H from the Right.
  52.  
  53.      UPLO    (input) CHARACTER*1
  54.              = 'U': Upper triangular packed storage used in previous call to
  55.              ZHPTRD; = 'L': Lower triangular packed storage used in previous
  56.              call to ZHPTRD.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ZZZZUUUUPPPPMMMMTTTTRRRR((((3333SSSS))))                                                          ZZZZUUUUPPPPMMMMTTTTRRRR((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      TRANS   (input) CHARACTER*1
  75.              = 'N':  No transpose, apply Q;
  76.              = 'C':  Conjugate transpose, apply Q**H.
  77.  
  78.      M       (input) INTEGER
  79.              The number of rows of the matrix C. M >= 0.
  80.  
  81.      N       (input) INTEGER
  82.              The number of columns of the matrix C. N >= 0.
  83.  
  84.      AP      (input) COMPLEX*16 array, dimension
  85.              (M*(M+1)/2) if SIDE = 'L' (N*(N+1)/2) if SIDE = 'R' The vectors
  86.              which define the elementary reflectors, as returned by ZHPTRD.
  87.              AP is modified by the routine but restored on exit.
  88.  
  89.      TAU     (input) COMPLEX*16 array, dimension (M-1) if SIDE = 'L'
  90.              or (N-1) if SIDE = 'R' TAU(i) must contain the scalar factor of
  91.              the elementary reflector H(i), as returned by ZHPTRD.
  92.  
  93.      C       (input/output) COMPLEX*16 array, dimension (LDC,N)
  94.              On entry, the M-by-N matrix C.  On exit, C is overwritten by Q*C
  95.              or Q**H*C or C*Q**H or C*Q.
  96.  
  97.      LDC     (input) INTEGER
  98.              The leading dimension of the array C. LDC >= max(1,M).
  99.  
  100.      WORK    (workspace) COMPLEX*16 array, dimension
  101.              (N) if SIDE = 'L' (M) if SIDE = 'R'
  102.  
  103.      INFO    (output) INTEGER
  104.              = 0:  successful exit
  105.              < 0:  if INFO = -i, the i-th argument had an illegal value
  106.  
  107. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  108.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  109.  
  110.      This man page is available only online.
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.